/*
 * Created by LiuYou on 2020/11/13.
 *
 */

#ifndef EFFECTIVECPP_GRAPHICSCARD_HPP
#define EFFECTIVECPP_GRAPHICSCARD_HPP


#include <string>
#include <ostream>

namespace computer {
    class GraphicsCard {
    public:
        friend std::ostream& operator<<(std::ostream& os, const GraphicsCard& card);

        virtual std::string theFeatureOfGC() {
            return std::string("Base");
        }

        virtual ~GraphicsCard() = default;

    private:
        int graphicsCardIdentifier{100};
    };

    std::ostream& operator<<(std::ostream& os, const GraphicsCard& card) {
        os << "graphicsCardIdentifier: " << card.graphicsCardIdentifier;
        return os;
    }

}


#endif //EFFECTIVECPP_GRAPHICSCARD_HPP
